A Case for New MPI Fortran Bindings

نویسندگان

  • Craig Edward Rasmussen
  • Jeffrey M. Squyres
چکیده

Abstract. The Fortran language has evolved substantially from the Fortran 77 bindings defined in the MPI-1 (Message Passing Interface) standard. Fortran 90 introduced interface blocks; subsequently, the MPI-2 standard defined Fortran 90 bindings with explicit Fortran interfaces to MPI routines. In this paper, we describe the Open MPI implementation of these two sets of Fortran bindings and point out particular issues related to them. In particular, we note that strong typing of the Fortran 90 MPI interfaces with user-choice buffers leads to an explosion of interface declarations; each choice buffer must be expanded to all possible combinations of Fortran type, kind, and array dimension. Because of this (and other reasons outlined in this paper), we propose a new set of Fortran MPI bindings that uses the intrinsic ISO C BINDING module in Fortran 2003. These new bindings will allow MPI interfaces to be defined in Fortran that directly invoke their corresponding MPI C implementation routines – no additional layer of software to marshall parameters between Fortran and C is required.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Design and Evolution of the MPI-2 C++ Interface

The original specification for the Message Passing Interface (MPI) included language bindings for C and Fortran 77. C++ programs that used MPI were thus required to use the C bindings. With MPI-2, a C++ interface for all of MPI is specified. In this paper, we describe the design of the C++ interface for MPI and provide some of the history and motivations behind the design decisions.

متن کامل

Object Oriented MPI (OOMPI): A Class Library for the Message Passing Interface

Using the Message Passing Interface (MPI) in C++ has been difficult to this point because of the lack of suitable C++ bindings and C++ class libraries. The existing MPI standard provides language bindings only for C and Fortran 77, precluding their direct use in object oriented programming. Even the proposed C++ bindings in MPI-2 are at a fairly low-level and are not directly suitable for objec...

متن کامل

Automatic Object Serialization in the mpiJava Interface to MPI

The paper discusses use of the Java object serialization model for marshalling communication data in Java bindings of the Message Passing Interface standard, MPI. This approach is compared with a Java transcription of the derived datatype mechanism used for bu er description in C and Fortran bindings of MPI. We describe an implementation of the mpiJava interface to MPI incorporating automatic o...

متن کامل

A Component Object Model Binding for MPI

COM is a specification for creating languageindependent interfaces between client applications and server components. MPI is a standard that defines the API provided by communication libraries. While MPI’s communication abstraction provides a portable means for communicating in a number of disparate parallel environments, the implementations are usually limited to providing C and FORTRAN bindin...

متن کامل

MPJ: A New Look at MPI for Java

The Message Passing Interface (MPI) was introduced in June 1994 as a standard message passing API for parallel scientific computing. The original MPI standard had language bindings for Fortran, C and C++. A new generation of distributed, Internet-enabled computing inspired the later introduction of similar message passing APIs for Java [1][2]. Current implementations of MPI for Java usually fol...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005